Collation in most conventional printers has been accomplished by storing pages in random access memory (RAM) only, which meant that the maximum size of the collated print job depended upon how much RAM was installed in the printer. In some newer printers, an optional hard disk drive can be installed to provide a printer the means to store more collated pages than it otherwise could by storing such pages only in RAM. The hard disk can also be used to buffer incoming print jobs, and to store permanent fonts and macros.
An example of this type of printer is disclosed in a European patent application number EP 0 755 021 A2 which can receive a single transmission from a host computer that describes an entire collated multi-page document, in which the printer can automatically print multiple original collated copies of the document. The data transmitted by the host computer includes not only the print data, but a variable that indicates how many copies are to be printed at the printer. If more than one original copy is to be printed by the printer, a hard disk at the printer can be used to store the print data until after all the copies have been printed. The print job is saved as datastream bytes in a high-level language, such as one of the PCL languages. Since the data is saved in a high-level language, the printer must rasterize the print data each time the next copy of the document is to be printed, which is a serious limitation as far as attempting to maintain the printer's overall rated print speed.
An improvement over the printer disclosed in the above-referenced European patent application is described in U.S. Pat. No. 5,047,955, where the host computer sends a multi-page document to the printer in the form of character code signals, after which the printer can rasterize the print data and store the rasterized data so that a plurality of collated sets of the document can be printed without re-rasterization.
Another improvement that has been disclosed is a printer called "QMS Crown," which is a printer that quickly transfers incoming print jobs received from a host computer into input buffers for processing at the earliest possible moment. This helps to prevent network logjams, and also provides an advanced paper handling capability for features such as multi-page job collation. When the QMS printer receives a print job in a high-level language format, rather than rasterizing the entire page the printer compiles the page into an intermediate "QMS display list." If the printer is currently busy printing another job, the intermediate blocks of data are stored in the printer's RAM until the printer becomes available for this job. By separating the printing process into two operations of compiling and rasterizing, the printer does not have to re-create an entire page from scratch each time the page is printed (as part of a multiple original collated set of copies). Therefore, the more time-consuming compilation operation is done only once per page, and when multiple copies are to be printed, the rasterizer processes these intermediate blocks as needed by the print engine. An optional hard disk drive can be included in the printer, which creates a "virtual memory" that allows data in RAM to spill over onto the hard disk, thereby eliminating the need for additional print server hardware at the other end of the network.
Since disk access time is relatively slow (at least compared to RAM), it typically is not possible to read page data from a disk quickly enough to consistently keep up with the imaging (i.e., the actual printing on the print media) of a page that is moving through the printer, at least not at the printer's overall rated speed. Therefore, the page must usually be read from the disk into RAM before launching that page through the print engine. Moreover, if too many consecutive pages of a print job are stored on a hard disk, it may be impossible to retrieve those pages quickly enough to print at the printer's overall rated print speed.